The present invention relates to a user interface for a computer and, more particularly, to a graphical user interface that readily accommodates user interaction in selecting, scrolling, and resealing graphical representations of data displayed by a computer.
A graphical user interface (GUI) permits a computer user to communicate with application programs running on the computer by manipulating “objects” on a virtual desktop. An object on the desktop is a graphical representation of data in a file. All of the objects in a file which are potentially viewable by the user make up a virtual information area which is a topological representation of the data space viewable by the user. When the objects of a file are displayed at a particular scale, the physical area required to display the information area may exceed the physical size of the window of the computer's display through which the user can view the information area. In this case, the computer processes a subset of the data and renders a region of the virtual information area that fits the available window. The remainder of the information area is “located” outside the window and out of the user's view. To permit the user to view and work with all regions of interest in the virtual information area, the user interface includes a scrolling control that facilitates processing new subsets of data representing other regions of the information area for display in the window. Scrolling effectively repositions the virtual information area under the window. Typically, GUIs also include a zoom control which facilitates changing the scale of objects displayed in the window. Zooming “in” permits the user to examine details of an object which are not clearly visible when displayed at a certain scale. Zooming “out” facilitates more convenient examination of the relationship of larger objects. User interfaces may also permit the user to select a part of the displayed portion of the information area and then change the size of the selected region preparatory to taking some action involving the selected objects, such as zooming.
Heretofore, graphical user interfaces have required the user to differentiate between zooming, scrolling, and other interactions with the information area by making a global modal change in the interaction medium to accomplish each individual interaction. To scroll, the user typically moves a mouse controlled cursor to a scroll bar icon at an edge of the display area. The scroll bar may provide the user with a choice of actuating a scrolling control or dragging a scroll box to cause the computer to move the window horizontally or vertically over the information area. Selection of a different control (a menu followed by area selection or a zoom box) is required if the user wishes to zoom in or out. For graphics programs, such as computer aided design (CAD), where information areas are large and users frequently desire to display new regions of the information area and zoom in or out to examine details or relationships of objects, the frequent movement of the cursor between the displayed objects and the various interface controls can be awkward, time consuming, and frustrating.
Perry, METHOD AND APPARATUS FOR COMBINING A ZOOM FUNCTION IN SCROLL BAR SLIDES, U.S. Pat. No. 5,583,225; illustrates a user interface having scroll bars for horizontal and vertical movement of the display window relative to the information area. The scroll bar includes a scroll box which can be dragged by a mouse controlled cursor to move the window. The relative lengths of the scroll box and the scroll bar represent the relative proportions of the window and the information area. A zoom control is incorporated into the scroll bar. By selecting the zoom control with the cursor, the user can resize the scroll box and proportionally change the size of the window relative to the size of the information area. The effect of displaying a greater or lesser region of the information area is to magnify or minify the objects displayed in the window. While placing the zoom and scroll controls in close proximity reduces the required cursor movement, global modal changes through multiple controls are required to indirectly manipulate the window and its contents.
What is desired, therefore, is a computer implemented user interface permitting a user to define a graphic region of interest in a virtual information area and to change the scale of displayed objects. The user interface should also permit resizing and repositioning the selected region relative to the information area without the necessity of searching out and actuating remotely located controls to make global modal changes.